<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // Symbol() 函数会返回 symbol 值，该值是唯一的且不可变的。
        // Symbol() 函数不能与 new 关键字一起作为构造函数使用。
        // Symbol() 函数可以接受一个可选参数，用于描述 symbol 的含义。这个参数在创建 symbol 时会被忽略，但是可以用于调试。
        // Symbol() 函数生成的 symbol 值是唯一的，即使传入相同的参数，也会生成不同的 symbol 值。
        console.log(Number(2) === Number(2))
        console.log(Boolean(false) === Boolean(false))
        console.log(Symbol('foo') === Symbol('foo'))
        // symbol是不可枚举的
        const info = {
            [Symbol('a')]: 'b'
        }
        console.log(info)
        console.log(Object.keys(info)) // []

    </script>
</body>

</html>